Oracle 11g 账号密码策略
参数解释:
PASSWORD_LIFE_TIME 60 --口令的生命周期,超过这段时间口令可能会自动过期,是否过期要看是否设定了PASSWORD_GRACE_TIME
PASSWORD_GRACE_TIME 10 --接着PASSWORD_LIFE_TIME特性,如果PASSWORD_LIFE_TIME的期限已到,那么PASSWORD_GRACE_TIME 的设置是对口令生命周期的一个grace(宽限或者延续),口令到期之后,继续可以使用的天数,在这段时间内如果我们登录系统,会有提示,提示系统在几天内过期
PASSWORD_REUSE_TIME 1800 --这个特性限制口令在多少天内不能重复使用
PASSWORD_REUSE_MAX UNLIMITED --这个特性是针对PASSWORD_REUSE_TIME的,说明要想在PASSWORD_REUSE_TIME这个参数指定的时间内重复使用当前口令,那么至少需要修改过口令的次数(修改过的口令当然肯定需要和当前口令不同,因为毕竟还有PASSWORD_REUSE_TIME 特性的限制)
FAILED_LOGIN_ATTEMPTS 3 --这个比较好理解,不知道口令的话尝试登录的次数,达到这个次数之后账户被自动锁定
PASSWORD_LOCK_TIME 1/1440 --接着FAILED_LOGIN_ATTEMPTS参数,口令被自动锁定的时间,达到这个时间之后,下次登录时系统自动解除对这个账户的锁定
操作例子:
1、调整oracle内置SQL脚本;
vi $ORACLE_HOME/rdbms/admin/utlpwdmg.sql (改长度为6,PASSWORD_LIFE_TIME为UNLIMITED,FAILED_LOGIN_ATTEMPTS为5,PASSWORD_LOCK_TIME为1/24)
```-- Check for the minimum length of the password
IF length(password) < 6 THEN
raise_application_error(-20001, 'Password length less than 6');
END IF;
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1/24
PASSWORD_VERIFY_FUNCTION verify_function_11G;```
2、执行SQL语句;
SQL> alter system set resource_limit = true;
SQL> @$ORACLE_HOME/rdbms/admin/utlpwdmg.sql verify_function_11G;
SQL> alter profile default limit password_verify_function verify_function_11G;
SQL> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 5 (执行了上述SQL脚本,可省略此指令)
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME 1/24 (执行了上述SQL脚本,可省略此指令)
SQL>SELECT profile,resource_type,resource_name,limit FROM dba_profiles WHERE resource_type='PASSWORD' AND profile='DEFAULT';
点击阅读原文可以进入社区Oracle主题,还有更多文章、资料及相关问答。
长按二维码关注公众号AIX专家俱乐部